查看原文
其他

面向中文短文本的实体链指任务竞赛亚军DeepBlueAI团队技术分享

罗志鹏 PaperWeekly 2022-03-17


©PaperWeekly 原创 · 作者|罗志鹏

学校|深兰北京AI研发中心

研究方向|物体检测


全国知识图谱与语义计算大会(CCKS 2020)11 月 12 日至 15 日在江西南昌举行,CCKS(China Conference on Knowledge Graph and Semantic Computing)由中国中文信息学会语言与知识计算专委会定期举办的全国年度学术会议。CCKS 已经成为国内知识图谱、语义技术、语言理解和知识计算等领域的核心会议。

CCKS 2020 举办的各项挑战赛公布了最终结果,来自深兰科技北京 AI 研发中心的 DeepBlueAI 团队斩获了 3 项冠军和 1 项亚军,并获得了一项技术创新奖。我们可以通过这篇文章了解下 DeepBlueAI 团队在『CCKS 2020:面向中文短文本的实体链指任务』赛题中的解决方案。


赛题介绍

面向中文短文本的实体链指,简称 EL(Entity Linking),即对于给定的一个中文短文本(如搜索 Query、微博、对话内容、文章/视频/图片的标题等),EL 将其中的实体与给定知识库中对应的实体进行关联。

此次任务的输入输出定义如下:

输入:中文短文本以及该短文本中的实体集合。

输出:输出文本此中文短文本的实体链指结果。每个结果包含:实体 mention、在中文短文本中的位置偏移、其在给定知识库中的 id,如果为 NIL 情况,需要再给出实体的上位概念类型。

团队成绩

评价方式采用 F-1 分值,在最终榜单上我们 f1 达到了 0.89538 与第一名仅相差0.00002。

B 榜成绩:

A 榜成绩:

比赛难点

针对中文短文本的实体链指存在很大的挑战,主要原因如下:

  1. 口语化严重,导致实体歧义消解困难;

  2. 短文本上下文语境不丰富,须对上下文语境进行精准理解;

  3. 相比英文,中文由于语言自身的特点,在短文本的链指问题上更有挑战。


引言

实体链接是一项识别文本中的实体指称(指文本被识别到的命名实体)并将其映射到知识库中对应实体上的任务 [1]

对于一个给定的实体链接任务,首先需要使用命名实体识别方法和工具识别文本中的实体,然后对每个实体指称利用候选实体生成技术生成对应候选实体集,最后利用文本信息和知识库的信息消除候选实体的歧义得到相匹配实体,如果最没有相匹配实体则将该实体指称标记为 NIL(代表没有对应实体)。

一般来讲,实体链接包括三个主要环节:命名实体识别、候选实体生成、候选实体消歧。

CCKS 2020 任务,对比 2019 年任务 [2] 去掉了实体识别,专注于中文短文本场景下的多歧义实体消歧技术,增加对新实体(NIL 实体)的上位概念类型判断,所以 CCKS 2020 任务可以分成两个子任务,分别为多歧义实体消歧和 NIL 实体类型判断。

针对实体消歧任务我们采用了基于 BERT [3] 的二分类方法,对每一个候选实体进行预测,然后对预测的概率进行排序,由于数据集中包含 NIL 实体,我们将 NIL 实体也作为候选实体参与模型训练和概率排序,进而完成消歧任务。

对于 NIL 实体类型判断任务提出了基于问答的 NIL 实体类型判断模型,模型通过构建问句并依据已知实体信息构建上下文,有效的引入短文本中已知实体的知识库信息,额外信息的引入能够显著提升了模型的性能。


实体消歧任务
实体消歧主要是对于给定的实体指称,利用候选实体生成技术得到相应的候选实体集,然后在利用实体消歧模型找到真正对 应的那个实体。如图 1 所示,利用短文本中的实体指称,可以通过候选实体生成的方式得到候选实体集合,然后利用候选实体的描述信息进行实体消歧的得到与实体指称相对应的实体,如果找不到,则用 NIL 表示。
▲ 图1 实体消歧数据样例
实体描述文本

知识库中实体的信息为结构化信息,如下所示:

{"alias": ["承志"], 
 "subject_id""10005"
 "data": [
     {"predicate""摘要""object""爱新觉罗·承志是辅国公西朗阿之子。"}, 
     {"predicate""义项描述""object""爱新觉罗·承志"}, 
     {"predicate""标签""object""人物、话题人物、历史"}], 
 "type""Person""subject""爱新觉罗·承志"
}
为了方便处理,我们将“predicate”与“object”相连得到描述文本。

候选实体生成

候选实体生成最常用的方法是基于字典的方法 [4,5],这种方法需要根据给定的知识库构建名称字典,字典的键就是实体的名字,而值则是这个名字所对应的所有的具有相同名字的实体。

对于每个实体指称去检索字典的键,如果字典的键符合要求,则将该键对应的值中所有的实体都加入到候选实体集中,其中判断字典的键是否符合要求通常的做法是采用精确匹配的方式,只有当实体指称和字典键彼此完全匹配的情况下才加入到候选实体集。

基本流程为先通过知识库中的实体名字以及实体别称构建实体字典,然后采用精确匹配的方式匹配得到候选实体。
实体消歧

现在比较流行的消歧模型常用的方案是提取实体所在短文本的上下文特征,以及候选实体描述文本的特征,在将这两类特征经过全连接网络,最后进行二分类 [6,7]

这类方法对于长文本很有效,但是对于短文本的消歧效果不是很好,主要是因为短文本内容较短,上下文太少,难以提取有效的上下文特征,而候选实体的描述文本过长,这种情况造成传统的实体消歧模型效果并不理想。考虑到短文本的特性,我们采用了基于 BERT 和实体特征的消歧模型。
▲ 图2 实体消歧模型图
模型图如图 2 所示,模型采用的思想主要是为利用 BERT 模型 [CLS] 符号的输出向量,以及实体指称所在开始位置的向量和结束位置的向量,经过全连接层,然后经过 sigmoid 进行二分类。

其中 [CLS] 符号的输出向量可以用来判断短文本和候选实体的描述文本是否处在同一语义场景,实体位置的向量可以代表实体的上下文特征。模型的输入为短文本以及候选实体的描述文本,形式为:[CLS] 短文本 [SEP] 候选实体描述文本 [SEP]。

优化点:

  1. 动态负采样:不同于以往在训练前选取固定的负样本,模型采用动态负采样技术,在模型训练中每个 batch 选取不同的负样本参与训练,通过这种方式能够极大的提高模型的泛化能力。
  2. NIL 排序:由于增加了 NIL 实体,对NIL 实体也作为候选实体参与训练和排序。

  3. 模型融合:采用了百度 ERNIE-1.0 [8] 和 Roberta-wwm [9] 模型两个预训练模型,并采用交叉验证的方式对最后的结果进行平均融合。


实体类型判断
对于实体类型判断任务大家通用的思路也就是 baseline 思路为,通过提取 mention 位置的向量,然后经过全连接分类,得到实体的类型。

这种方案的最大缺点就是仅仅用短文本的信息去对 NIL 实体进行类型分类,没有利用到已知实体信息的特征,为了利用上其他不是 NIL 实体的信息,我们构建了基于问答的实体类型判断模型。模型基于问答的思想,通过构建问句和上下文将已知实体的信息输入到模型中,来提升实体类别判断的性能。

{"text_id""456"
 "text""神探加杰特,和彭妮长得一模一样,竟想要霸占泰龙的位置"
 "mention_data": [
     {"kb_id""283448""mention""神探加杰特""offset""0"}, 
     {"kb_id""NIL_VirtualThings""mention""彭妮""offset""7"}, 
     {"kb_id""NIL_VirtualThings""mention""泰龙""offset""21"}, 
     {"kb_id""88355""mention""位置""offset""24"}]
}
对于上述例子,其中实体有 “神探加杰特” 、“彭妮”,“泰龙”,“位置” 4 个实体,需要预测类型的 NIL 实体有“彭妮”,“泰龙”,对于实体 “彭妮”,“泰龙”,“彭妮” 根据命名习惯很容易判断为类型为 Person 类型, 就算根据短文本的语义分析判断“彭妮”依旧是 Person 类型,同样模型学习到的也是 Person 类型。而“彭妮”的真实类型为 VirtualThings 类型,可以看出在没有其他额外信息的情况下,很难准确预测“彭妮”的类型。
当前任务为:对于输入文本 ,其中存在 NIL 实体集合 {},求 NIL 实体 对应的类型 。在经过实体消歧后,已经知道部分实体的知识库信息和类型信息,那么任务可以变为:对于输入文本 ,其中存在实体集合 {},已知实体 的知识库信息 ,其中知识库信息 会包含对应的类型信息 ,求出 NIL 实体 对应的类型 。对于改变后的任务主要是利用上已知实体的信息,对于这种任务我们采用问答的形式,对于上述例子根据短文本以及 mention 构建问句为两个:
Question1:神探加杰特,和彭妮长得一模一样,竟想要霸占泰龙的位置,彭妮的类型是什么?
Question2:神探加杰特,和彭妮长得一模一样,竟想要霸占泰龙的位置,泰龙的类型是什么?

根据已知的实体信息构建相关上下文为:

Context:神探加杰特的类型是作品,描述为 1983--1985 年美国播出的动画片,位置类型为其他,描述为词语释义
通过上下文信息,可以得知“神探加杰特”为一个动画片,而不是电视剧电影等其他作品,那么模型则可以轻易学出,动画片中的人物为 VirtualThings 类型。本文将已知实体的信息分为实体类型和实体的描述(实体的描述仅仅使用了知识库信息中“义项描述”这一项),后续会对此进行实验分析。
具体任务为,根据 question 和 context 去做多分类来识别问句中要识别 NIL 实体的类型,模型基于 BERT 模型,输入形式为 [CLS]question[SEP]context[SEP],对于上述例子模型图如下,模型利用 BERT[CLS] 符号的输出向量,以及实体所在的开始位置向量和结束位置向量,经过全连接层,然后经过 softmax 激活函数进行多分类。
▲ 图3 类型判断模型图

优化点:

  1. 对抗学习:在类型判断模型训练过程中,加入了 FGM [10] 对抗训练,通过在 word embedding 上添加扰动,提升模型鲁棒性和泛化能力。
  2. 模型融合:采用了百度 ERNIE-1.0 和 Roberta-wwm 模型两个预训练模型,并采用交叉验证的方式对最后的结果进行平均融合。


实验
实体消歧任务

在实体消歧实验阶段,我们对 NIL 实体类型不做识别,下述试验结果没有加入 NIL 类型的评价。其中实验中参数配置如下:batch size 为 32,针对不同层采用不同的学习率,其中 BERT 模型初始学习率为 1e-5,其他模型参数初始学习率为 5e-4,为了更好地收敛到最优,采用了基于指数衰减的学习率衰减策略,每轮衰减为原来的 0.5 倍。

NIL 实体判定策略:针对某个实体,有三种情况会判定为 NIL 实体,1. 没有候选实体 2. 候选实体得分排序,最高得分是NIL,3. 候选实体得分排序,最高得分是不是 NIL,但是得分小于 0.05。

编号

模型

F1

1

Model-static- neg2-ernie

0.7376

2

Model-dyanmic- neg2-ernie

0.7415

3

Model-dyanmic- neg1-ernie

0.7402

4

Model-dyanmic- neg3-ernie

0.7393

5

Model-dyanmic- neg2-bert

0.7380

6

Model-dyanmic- neg2-roberta

0.7383

我们对以下几个维度进行了实验分析,1. 动态负采样与静态负采样 2.负采样的个数  3.不同预训练模型。实验结果如表 1 所示,static 代表静态负采样,dyanmic 代表动态负采样,neg2 代表负采样的个数为 2。

对比模型 1 与模型 2,动态负采样对比静态负采样有着巨大的提升,静态负采样之所以不好是没有利用上更多负样本的信息,对比模型 2、3、4 可以得出,负样本个数并不是越多越好,当负样本太多时会造成类别不均衡导致最终性能下降,并且负样本增多也会导致数据变大,训练时间增加,综合考虑本文最终采用 2 个负样本。

对比模型 4、5、6 可以看出不同的预训练模型对最终的结果也有着很大的影响,由于数据集由百度提供,数据中知识库来源大多来自百度百科,所有百度开源的 ERNIE 模型性能最佳,roberta 次之,综合考虑最终本文采取的方案为 ernie 模型与 roberta-wwt 融合。融合方案比较简单,采用交叉验证求平均的方式。
实体类型判断任务

对于实体类型判断任务,我们采用准确率作为评价标准,在实验设计方向本文主要设计了一下几个方面的对照实验,模型1:采用 baseline 思路,将实体位置的向量特征输出分类,模型2:仅仅加入已知实体的类型信息,不加入其他信息,模型3:加入简短的实体描述信息,模型4:即加入实体类型信息,又加入实体描述信息。模型5:加入对抗训练。

编号

模型

准确率

1

Model-baseline

0.8628

2

Model-type

0.8793

3

Model-desc

0.8782

4

Model-type+desc

0.8800

5

Model- type+desc+FGM

0.8819

由模型 1、2、3、4 可以发现,相比于 baseline 加入已知实体的信息能够显著提升模型的性能,说明已知实体的信息对短文本 NIL 实体的类别判断有着很大的帮助。对比模型 2 和模型 3 可以发现,已知实体的类别信息更为重要,这可能与仅仅采用了实体简短描述信息而没有使用实体的全部描述信息。

从模型 4 可以得出将实体的类型信息与描述信息相结合则能够达到更好的效果。从模型 5 可以看出加入对抗训练能够提升模型的泛化能力,对最终的结果也有很大的提升。

实体链接结果
最终将两个模型合在一起得到最终的实体链接效果表如下所示,其中测试集 A 和测试集 B 为多个模型交叉验证求平均的结果。

编号

模型

F1

1

开发集

0.88010

2

测试集A

0.89193

3

测试集B

0.89538

总结

我们在 2020(全国知识图谱与语义计算大会)举办的“面向中文短文本的实体链指”评测任务中取得了 A 榜第一名的成绩,B 榜第二名的成绩,其中基于问答的实体类型判断模型巧妙的利用到了已知实体的信息,此模型对后续此类型的任务提供了借鉴意义。

但是本文依旧有些地方需要改进,如知识库给定的数据具有一定的结构信息,直接连在一起当文本使用,会损失这部分特征,可以设计更好的网络来利用这部分结构化信息。

参考文献

[1] Rao, Delip, Paul McNamee, and Mark Dredze. Entity linking: Finding extracted entities in a knowledge base[J]. Multi-source, multilingual information extraction andsummarization. Springer, Berlin, Heidelberg, 2013. 93-115

[2] https://www.biendata.xyz/competition/ccks_2019_el/

[3] Devlin J, Chang M W, Lee K, et al. BERT:   Pre-training of Deep Bidirectional Transformers for Language Understanding[J]. 2018.

[4] Zhang W, Su J, Tan C L, et al. Entity Linking Leveraging Automatically Generated Annotation[C]. COLING 2010, 23rd International Conference on Computational Linguistics, Proceedings of the Conference, 23-27 August 2010, Beijing, China. DBLP, 2010.

[5] Zhang W, Sim Y C, Su J, et al. Entity Linking with Effective Acronym Expansion, Instance Selection and Topic Modeling[C]. IJCAI 2011, Proceedings of the 22nd International Joint Conference on Artificial Intelligence, Barcelona, Catalonia, Spain, July 16-22, 2011. AAAI Press, 2011.

[6] Chen Z, Ji H. Collaborative Ranking: A Case Study on Entity Linking[C]. Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing,  EMNLP 2011, 27-31 July 2011

[7] Pilz A, Gerhard Paaß. From names to entities using thematic context distance[C].  Acm Conference on Information & Knowledge Management. ACM, 2011.

[8] Sun, Yu, et al. "Ernie: Enhanced representation through knowledge integration." arXiv preprint arXiv:1904.09223 (2019).

[9] Cui, Yiming, et al. "Revisiting Pre-Trained Models for Chinese Natural Language Processing." arXiv preprint arXiv:2004.13922 (2020).

[10] Miyato, Takeru, Andrew M. Dai, and Ian Goodfellow. "Adversarial training methods for semi-supervised text classification." arXiv preprint arXiv:1605.07725 (2016).


更多阅读




#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。


📝 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存